import dayjs from 'dayjs';

/**
 * 格式化日期时间字符串或对象
 * @param {string | number | Date | dayjs.Dayjs | null | undefined} timeInput - 时间输入，可以是多种格式
 * @param {string} [format='YYYY-MM-DD HH:mm:ss'] - 目标格式，默认为 'YYYY-MM-DD HH:mm:ss'
 * @returns {string} 格式化后的时间字符串，如果输入无效则返回 '-'
 */
export const formatTime = (timeInput, format = 'YYYY-MM-DD HH:mm:ss') => {
  if (!timeInput) {
    return '-';
  }
  
  // 尝试使用 dayjs 解析和格式化
  try {
    const timeObj = dayjs(timeInput);
    // 检查解析是否有效
    if (timeObj.isValid()) {
      return timeObj.format(format);
    } else {
      console.warn('无效的时间输入无法格式化:', timeInput);
      return '-'; // 或者可以返回原始输入，但返回 '-' 更一致
    }
  } catch (e) {
    console.error('日期格式化时发生错误:', e);
    return '-'; // 出错时也返回 '-'
  }
};

// 你可以在这里添加其他通用的日期时间处理函数
// 例如：计算日期差、获取时间戳等 